package com.yeren.generic;
import java.util.ArrayList;
import java.util.Collection;
/**
 * 1.范型 Java5之后推出的一个新特性,范型的本质是参数化类型。在类，接口和方法的定义过程中，所操作的数据类型被传入测参数制定。
 * 2.Java范型机制广泛的应用在集合框架中。所有的集合类型都带有范型参数，这样在创建集合时可以指定放入集合中元素的类型。Java编译器
 * 可以据此进行类型检查，这样可以减少代码运行时出现的错误的可能性。
 * 3.范型只能是引用类型。
 * 4.范型是假的：
 * 		范型类型的属性其本质就是Object类型，只不过我们在编译程序的时候，
 * 		Java编译器在帮我们检查我们实际用到的属性时给定的类型是否正确。
 * 		在获取范型的值时，Java虚拟机帮我们做了一次强制类型转换。
 * 5.ArrayList类的定义中，<E>中的E为范型参数，在创建对象时可以将类型作为参数传递，此时，类定义所有的E将被替换成传入的参数。
 * @author Administrator
 */
public class TypeDemo {
	public static void main(String[] args) {
		Collection<String> c=new ArrayList<String>();
		c.add("one");
		c.add("two");
		c.add("three");
		for(String str:c){
			System.out.println(str);
		}
		//one
		//two
		//three
	}
}
